package com.burst.reptile.modular.zp.service;

import com.burst.reptile.modular.app.vo.FollowVo;
import com.burst.reptile.modular.zp.entity.ZpFollow;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 用户关注列表 服务类
 * </p>
 *
 * @author wujin
 * @since 2020-06-19
 */
public interface IZpFollowService extends IService<ZpFollow> {

	/**
	 * 关注
	 * @param userId 用户ID
	 */
	int follow(Long userId);

	/**
	 * 取关
	 * @param userId 用户ID
	 */
	int takeOff(Long userId);

	/**
	 * 分页获取关注列表
	 * @param page 分页信息
	 * @param follow 查询条件
	 * @return
	 */
	Page<ZpFollow> pageList(Page<ZpFollow> page, ZpFollow follow);

	/**
	 * 关注
	 * @param userId 被关注者
	 * @param auserId 关注者
	 */
	int wxfollow(Long userId, Long auserId);

	/**
	 * 取消关注
	 * @param userId 被关注者
	 * @param auserId 关注者
	 * @return
	 */
	int wxtakeOff(Long userId, Long auserId);

	/**
	 * 分页获取用户关注列表
	 * @param page 分页信息
	 * @param userId 用户Id
	 * @param key 查询条件
	 * @return
	 */
	Page<FollowVo> followlist(Page<FollowVo> page, Long userId, String key);

}
